package com.sgcc.ln.pmos.e_ln_mall.contract;

import com.sgcc.ln.pmos.common.base.IView;
import com.sgcc.ln.pmos.common.bean.BaseResponse;
import com.sgcc.ln.pmos.common.bean.PackageBean;
import com.sgcc.ln.pmos.e_ln_mall.bean.MallGoodsBean;
import com.sgcc.ln.pmos.e_ln_mall.bean.PackageDetailsBean;
import com.sgcc.ln.pmos.e_ln_mall.bean.PackageInfoBean;
import com.sgcc.ln.pmos.e_ln_mall.bean.PriceAndPriceDetailBean;
import com.sgcc.ln.pmos.e_ln_mall.bean.SchemeCombBySchemeIdYHBean;

public class PackageDetailsContract {
    public interface View extends IView {

        void queryGoodsSuccess(MallGoodsBean response);

        void queryGoodsFailed();

        void getGoodsDetailsSuccess(PackageBean response);

        void getGoodsDetailsFailed();

        void queryPackageDetailsSuccess(PackageDetailsBean response);

        void queryPackageDetailsFailed();

        void queryMonthListSuccess(PackageInfoBean response);

        void queryMonthListFailed();

        void queryPriceListSuccess(SchemeCombBySchemeIdYHBean response);

        void queryPriceListFailed();

        void queryDetailSuccess(PriceAndPriceDetailBean response);

        void queryDetailFailed();

        void addCollectionSuccess(BaseResponse response);

        void addCollectionFailed();

        void deleteCollectionSuccess(BaseResponse response);

        void deleteCollectionFailed();


        void firstOrderCheckSuccess(BaseResponse response);

        void firstOrderCheckFailed();
    }

    public interface Presenter {

        void getGoodsList(String combName);
        void getGoodsDetails(String combName);

        void firstCheckOrder(String combId, String isImmediate);


        /**
         * 商品标题内容
         *
         * @param combId //套餐ID
         */
        void getPackageDetails(String combId);

        /**
         * 商品详情（月份）
         *
         * @param combId //套餐ID 取消商品的时候传
         */
        void getPackageInfo(String combId);

        /**
         * 电价列表（基准套餐 或浮动套餐）
         *
         * @param mainSchemeId //基准套餐体系ID
         * @param floSchemeId  //浮动套餐体系ID
         */
        void getSchemeCombBySchemeIdYH(String mainSchemeId, String floSchemeId);

        /**
         * 基本套餐，浮动套餐内容补充
         *
         * @param mainSchemeId 基准套餐体系ID
         * @param floSchemeId  浮动套餐体系ID
         */
        void getPriceAndPriceDetail(String mainSchemeId, String floSchemeId);


        void addUserPackageCollection(String membersUserName, String membersSdId, String membersSdName,
                                      String combId, String combName);

        void deletePackageById(String combId, String membersSdId);


    }
}
